首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏DotNet NB && CloudNative

    ConfigureAwait in .NET 8

    最近(具体来说,自从 ASP.NET 在 ASP.NET Core 中放弃了 SynchronizationContext 并修复了所有需要 sync-over-async(即同步套异步代码) 的地方之后 好了,既然我们已经重新理解了 ConfigureAwait(false),下面就让我们看看 ConfigureAwait 在 .NET8 中是如何得到增强的。 接下来我要指出的是,至少在 .NET8 中,ConfigureAwait(ConfigureAwaitOptions) 仅适用于 Task 和 Task<T>。 未来的 .NET 版本有可能为 ValueTask 添加 ConfigureAwait(ConfigureAwaitOptions),但目前它仅适用于引用任务,因此如果您想在 ValueTask 中使用这些新选项 拓展阅读 很高兴看到 .NET 团队在多年后仍然在改进 async/await 的功能!

    83810编辑于 2023-12-13
  • 来自专栏精益码农

    HTTP Strict Transport Security (HSTS) in ASP.NET Core

    本文是《2020年了,再不会HTTPS就老了》的后篇,本文着重聊一聊HTTP Strict Transport Security协议的概念和应用。 服务端通过Strict-Transport-Security响应头来通知客户端应用HSTS协议: Strict-Transport-Security: max-age=31536000; includeSubDomains Nginx启用HSTS 在Nginx中设置 HSTS 相对简单: add_header Strict-Transport-Security "max-age=31536000; includeSubDomains server { listen 443 ssl; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains + nginx启用HSTS: https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/ + chrome清除

    1.3K20发布于 2020-04-16
  • 来自专栏DotNet NB && CloudNative

    .NET 8 依赖注入

    咱就是通过 IServiceCollection 和 IServiceProvider 来实现的,他们直接被收入到了runtime libraries,在整个.NET平台下通用! CallSiteFactory.IsService(serviceIdentifier)); return result; } 其中,服务标识符 ServiceIdentifier 其实就是包了一下服务类型,和服务Key(为了.NET8 2715 ServiceProviderEngine CreateDynamicEngine() => new DynamicServiceProviderEngine(this); } 由于.NET

    88131编辑于 2023-12-15
  • 来自专栏明丰随笔

    浅谈.Net反射 8

    System.Reflection.MethodInfo类封装了类型的方法信息,它继承自MemberInfo。

    58450发布于 2019-07-30
  • 来自专栏JusterZhu

    .NET 8正式发布

    NET 团队着重强调云、性能、全栈 Blazor、AI 和 .NET MAUI 是.NET 8的主要亮点。。 在描述.NET 8的整体情况时,.NET 团队表示:“NET 8提供了数千项性能,稳定性和安全性改进,以及平台和工具增强功能,有助于提高开发人员的生产力和创新速度。 Announcing .NET 8 Introducing .NET Aspire: Simplifying Cloud-Native Development with .NET 8 Announcing C# 12 Entity Framework Core 8 (EF8) is available today Announcing ASP.NET Core in .NET 8 Announcing .NET MAUI in .NET 8 相关链接: [1].NET Conf 2023: https://www.dotnetconf.net/ [2].NET 8:https://dotnet.microsoft.com

    2.1K40编辑于 2023-11-17
  • 来自专栏不止dotNET

    .NET Core 3.1 升级到 .NET 8

    8 是最好的选择。 Core 3.1 项目升级到 .NET 8 。 1、安装完升级工具后,在项目上点击右键就会出现 Upgrade 按钮: 2、在弹窗中选择升级方式: 3、选择升级的目标版本,这里我选择 .NET 8 ,这是一个长线支持版本,最新版本的升级工具只支持升级到 已经过时 代码中有不少地方使用到了二进制的序列化,但 BinaryFormatter 在 .NET8 中已经弃用,有两种解决方式: 1、修改源代码,采用新的推荐的方式进行替换。 Core 3.1 中是没有的,所以我们扩展了一个 DistinctBy 方法,没想到 .NET8 中已经默认提供了,会导致方法冲突,只需要将我们的扩展方法去掉,使用默认就好。

    1.6K10编辑于 2023-12-14
  • 来自专栏不止dotNET

    .NET Core 3.1 升级到 .NET 8

    8 是最好的选择。 Core 3.1 项目升级到 .NET 8 。 1、安装完升级工具后,在项目上点击右键就会出现 Upgrade 按钮: 2、在弹窗中选择升级方式: 3、选择升级的目标版本,这里我选择 .NET 8 ,这是一个长线支持版本,最新版本的升级工具只支持升级到 已经过时 代码中有不少地方使用到了二进制的序列化,但 BinaryFormatter 在 .NET8 中已经弃用,有两种解决方式: 1、修改源代码,采用新的推荐的方式进行替换。 Core 3.1 中是没有的,所以我们扩展了一个 DistinctBy 方法,没想到 .NET8 中已经默认提供了,会导致方法冲突,只需要将我们的扩展方法去掉,使用默认就好。

    1.1K10编辑于 2023-12-14
  • 来自专栏不止dotNET

    .NET Core 3.1 升级到 .NET 8

    8 是最好的选择。 Core 3.1 项目升级到 .NET 8 。 1、安装完升级工具后,在项目上点击右键就会出现 Upgrade 按钮: 2、在弹窗中选择升级方式: 3、选择升级的目标版本,这里我选择 .NET 8 ,这是一个长线支持版本,最新版本的升级工具只支持升级到 已经过时 代码中有不少地方使用到了二进制的序列化,但 BinaryFormatter 在 .NET8 中已经弃用,有两种解决方式: 1、修改源代码,采用新的推荐的方式进行替换。 Core 3.1 中是没有的,所以我们扩展了一个 DistinctBy 方法,没想到 .NET8 中已经默认提供了,会导致方法冲突,只需要将我们的扩展方法去掉,使用默认就好。

    94710编辑于 2023-12-14
  • 来自专栏技术之路

    .NET-随机数Random(.NET 8

    20700编辑于 2025-02-15
  • 来自专栏杰的记事本

    ASP.NET的最新安全漏洞Important: ASP.NET Security Vulnerability

    微软在9月17号中午正式对外公布了ASP.NET平台下的安全漏洞,即Microsoft Security Advisory (2416728)。 首先,比较长的一篇文章就是ScottGu的这篇:Important: ASP.NET Security Vulnerability。 这个解决方案有两个注意点: 1: If you are using ASP.NET 3.5 SP1 or ASP.NET 4.0 then you should follow the below steps <%@ Page Language=”C#” AutoEventWireup=”true” %> <%@ Import Namespace=”System.Security.Cryptography” If the result looks random, and its length is a multiple of common block cipher sizes, i.e. 8, 16 or

    2.2K10发布于 2019-09-04
  • 来自专栏JusterZhu

    .NET8 AOT DebugView

    开发过程中避免不了调试和日志输出使用Trace对象无论在debug模式下和release模式运行的程序都可以进行实时跟踪(vs运行程序时debugview是监控不到的直接双击exe运行监控即可),顺便来测试一下在.NET8 使用非常简单,用管理员的身份启动之后把Options里的这几项勾选即可(当我们写的.NET程序运行之后会自动捕捉输出的消息内容)。 Console.WriteLine("OK"); Console.Read(); } } } 测试结果 结论 DebugView工具在基于.NET 8无论是AOT或普通发布应用程序都是可以正常的使用,Trace对象无论在debug模式下和release模式运行的程序都可以进行实时跟踪极大的简化了我们追踪调试的过程。

    44310编辑于 2023-09-06
  • 来自专栏科控自动化

    脚本安装.NET8

    Ubuntu/Linux 通过脚本安装 .Net8并建立快捷方式 #! apt install -y libicu else apt install -y libicu fi fi dotnet --info rm $gzfile -f # rm net.sh /net.sh ./net.sh

    69611编辑于 2024-05-02
  • 来自专栏运维专栏

    K8s Security Best Practices-K8S安全最佳实践

    关于安全-写在前面的 Security is complex and a process 安全是复杂的,而且是一个过程 1. Security combines many diffenrent things 安全结合了许多不同的东西 2. Environments change,security cannot stay in a certain state 环境变化,安全性不能保持一定状态 3. K8s Security Categories k8S安全分类 3.png 2.1 Host OS Security 宿主机操作系统安全 4.png kubernets Node k8s集群安全 5.png kubernetes components are runing secure and up-to-data kubernetes集群组件保持安全和最新的运行

    96762发布于 2021-01-28
  • 来自专栏Kubernetes

    【K8s】Kubernetes 安全机制之 Security Context

    如果您有其他想要了解的,欢迎私信联系我~ 基本介绍 在 Kubernetes 中,Security Context(安全上下文)是一种重要的安全机制。 Security Context 通过定义 Pod 或 Pod 内容器的权限来控制容器的运行方式,从而限制不必要的访问、增强容器的安全性。 Security Context 包括但不限于以下配置字段: AllowPrivilegeEscalation:用于控制进程是否可以获得比其父进程更多的权限 appArmorProfile:用于定义容器使用的 Context 仅针对指定的 Container 生效 示例中 demo1 容器配置的 Security Context 不会对 demo2 容器生效 Container Security Context 的优先级高于 Pod Security Context,Pod Security Context 下相同的配置会被覆盖 书籍推荐 最后推荐一本笔者从 Docker 进阶到 Kubernetes 自学过程中

    88410编辑于 2024-10-18
  • 来自专栏DotNet NB && CloudNative

    MessagePack for C# (.NET Framework, .NET 8, Unity, Xamarin)

    我们以.NET Standard 2.0为目标,并对.NET 8+和.NET Framework进行了特殊优化。 该库代码是纯C#(在某些平台上使用JIT IL代码生成或AOT安全源生成器)。

    60710编辑于 2025-08-06
  • 来自专栏.NET企业级解决方案应用与咨询

    .NET平台系列8 .NET Core 各版本新功能

    NET Core 1.0功能不是很多,稳定性也不是很优秀。2017年8月14日微软发布.NET Core 2.0正式版,有很多个人开发者与企业尝试着将其应用到生产环境中,反馈非常不错。 .NET Core 1.0   .NET Core 1.0 于 2016年6月发布,主要致力于实现一种适用于构建现代跨平台应用程序的API,包括Web应用程序和云应用程序,以及使用ASP.NET Core .NET Core 1.1   .NET1.1于2016年11月发布,重点是修复bug、增加支持的Linux发行版数量、支出.NET Standard 1.6 以及改进性能,尤其是ASP.NET Core .NET Core 2.0   .NET Coe 2.0于2017年8月发布,重点是实现 .NET Standard 2.0,增加引用 .NET Framework 库的能力 以及提供更大的性能改进。 .NET 5.0 .NET5.0 于 2020年11月10日正式发布,它是继 .NET Core 3.1之后的下一个主要版本。目前可用于生产环境,但是它不是长支持版本。 ?

    1.4K40发布于 2021-06-08
  • 来自专栏编程进阶实战

    将 EasySQLite 从 .NET 8 升级到 .NET 9

    前言 EasySQLite是一个.NET 8操作SQLite入门到实战的详细教程,主要是对学校班级,学生信息进行管理维护。今天咱们的主要内容是将EasySQLite从.NET 8升级到.NET 9。 9介绍 .NET 9是微软于2024年11月13日推出的一个重大版本,被誉为迄今为止最高效、最现代、最安全、最智能、性能最高的.NET版本。. NET 9是标准期限支持 (STS) 版本,它将在18个月内受到支持。 .NET 9 环境准备 安装 .NET 9 环境,安装 .NET 9 SDK 并且Visual Studio 2022需要更新至17.12版本。 下载.NET 9.0:https://dotnet.microsoft.com/zh-cn/download/dotnet/9.0 将目标框架切换到.NET 9 我们先直接把.NET 8的目标框架切换至

    1K10编辑于 2025-01-07
  • 来自专栏DotNet NB && CloudNative

    使用 .NET 8 中的 FrozenCollection

    使用 .NET 8 中的 FrozenCollection Intro .NET 8 中引入了 FrozenCollection 使得只读 Collection 的操作性能更加好了,Stephen 在 .NET 8 的性能改进博客中也有提到,在只读的场景可以考虑使用 FrozenSet/FrozenDictionary 来提升性能 FrozenSet vs ImmutableHashSet FrozenSet ImmutableDictionary 来改进性能 References https://devblogs.microsoft.com/dotnet/performance-improvements-in-net -8/#frozen-collections https://github.com/WeihanLi/PerformanceTest/blob/master/PerformanceTest/CollectionTest -8-055b007587d0 https://steven-giesel.com/blogPost/34e0fd95-0b3f-40f2-ba2a-36d1d4eb5601

    54710编辑于 2025-01-22
  • 来自专栏张善友的专栏

    .NET 8 的openEuler 容器镜像

    目前.NET 8的容器镜像已经支持openEuler,以openEuler为基础镜像的应用镜像:dotnet-deps、dotnet-runtime 和 dotnet-aspnet。 openeuler-docker-images 基础镜像地址 repo.openeuler.org 应用镜像仓库 基础镜像以及应用镜像会上传到以下仓库 hub.docker.com quay.io 1 hub.oepkgs.net 运行容器 docker run -it --name dotnet-aspnet openeuler/dotnet-aspnet:8.0.3-oe2203sp3 参考文档: 在 Fedora 上安装 .NET - .NET | Microsoft Learn 在 RHEL 和 CentOS Stream 上安装 .NET - .NET | Microsoft Learn

    50310编辑于 2024-05-06
  • 来自专栏DotNet NB && CloudNative

    盘点8个.Net开源项目

    今天一起盘点下,6月份推荐的8个.Net开源项目。 1、一个.Net强大的Excel控件,支持WinForm、WPF、Android 这是一个开源的表格控制组件,支持Winform、WPF和Android平台,可以方便的加载、修改和导出Excel文件,支持数据格式 7、一个高性能、低内存文件上传流.Net组件 一个基于 .NET 平台的开源项目,提供了一个简单易用的 API,可以在 Web 应用程序中快速集成文件上传功能。 8、一个C#跨平台的机器视觉和机器学习的开源库 它是OpenCV的.NET封装版本,项目名称为EmguCV,它使得.NET开发人员能够调用OpenCV函数,从而快速建立复杂的视觉应用。

    1.5K40编辑于 2023-08-30
领券